Explosive growth in computer networks in the last two decades has changed the uses of computers dramatically. The largest computer network, commonly known as the Internet or World Wide Web (“WWW”), is now connecting millions of computers in the world, providing services like e-mail, file transfer, and hypermedia information retrieval across different computer platforms. With the rapid growth of computer networks, the management of these networks and their distributed applications has gained in importance.
Network architectures and services regularly change to handle the persistent growth and demands placed on networks. Several trends have been observed by network professionals and other industry observers. First, networks are increasingly decentralized. By distributing the management of a computer network among different systems, the network's flexibility and scalability are improved. Second, networks have greater utility when intelligent data analysis tools are provided to assist users in finding relevant information. Manual analysis of information stored on network-accessible computers has become impractical or even impossible, given the amount of information that is available. By employing intelligent data analysis tools, relevant information may be extracted from large sets of seemingly unstructured information systems.
Typically, documents and other resources are identified on a network using a Universal Resource Identifier (“URI”) (sometimes referred to as a “resource address”). A URI consists of three segments of information, including (1) the protocol used to access a resource, (2) the identity of the computer that hosts the resource, and (3) the path or location of the resource on the host computer. Consider the following URI—“http://www.corp.com/sales/index.htm.” This URI provides the three segments of information described above and may be read as follows—There is a resource available using the HyperText Transfer Protocol (“HTTP”) that is hosted by the computer or cluster of computers identified as “www.corp.com” that is accessible using the path “/sales/index.htm.” The format of a URI is “standardized” by the Internet Engineering Task Force (“IETF”), which is an organization that has taken a leadership role in the operation of the Internet. The IETF defines the “standard” structure of a URI in Request for Comments #1738.
The same resources are increasingly being made available on more than one network. For example, the URI “http://www.corp.com/sales/index.htm” refers to a resource that is available to users of the Internet. However, a user of an Intranet (i.e., a private network inside a company or organization that uses the same protocols as the Internet) may reference the same resource as “http://corp/sales/index.htm.” As known to those skilled in the art and others, a user will not be able to access a resource if the resource is incorrectly identified (i.e., a user connected to the Internet may not use a URI that is available only to users of an Intranet).
Even though computer network technology has improved, errors may occur because the network where resources will be accessed is not always known. For example, intelligent data analysis tools, such as search engines, assist users in identifying relevant resources and link users to those resources. When a search engine performs an analysis, the networks where resources will be accessed are not always known. As a result, a search engine may provide links that are not available from the network associated with the user. For example, the resource described above that is available from both an Intranet and the Internet may be identified by an Internet-based search engine. As a result, the Internet-based search engine may return a link (i.e., URI) that is not appropriate for a user of the Internet. For example, a link that references the URI “http://corp/sales/index.htm” may be returned in response to a user-generated query from an Internet-based search engine. However, users who activate the link will receive an error message that indicates the resource is not available.
In light of the above-identified problems, it would be beneficial to computer users to have a system that dynamically renders links (i.e., URIs) based on the network location of a computer where the request originated. The present invention is directed to providing such a system.